package com.umpay.dto.merBusi.req.register;


import com.umpay.annotation.Pattern;
import com.umpay.dto.merBusi.req.CommonBusiReq;

import javax.validation.constraints.NotNull;

public class MemberRegisterBusiReq extends CommonBusiReq {
	
	@NotNull(message = "商户号不能为空")
	@Pattern(message = "商户号格式不正确")
	private String merId;//	商户号	变长8	Y	商户在支付平台分配的商户号\\d{4,8}
	@NotNull(message = "业务产品号不能为空")
	@Pattern(message = "业务产品号格式不正确")
	private String bProductId	;//业务产品号	变长8	Y	商户业务产品号(B)\\w{7}
	@NotNull(message = "支付产品号不能为空")
	@Pattern(message = "支付产品号格式不正确")
	private String pProductId	;//支付产品号	变长8	Y	商户原子产品号(P)\\w{7}
	@NotNull(message = "商户订单号不能为空")
	@Pattern(message = "商户订单号格式不正确")
	private String orderId;//	商户订单号	变长20	Y	商户订单号支持数字、英文字母，其他字符不建议使用 长度4至20位
	@NotNull(message = "商户订单日期不能为空")
	@Pattern(message = "商户订单日期格式不正确")
	private String orderDate;//	商户订单日期	定长8	Y	商户生成订单的日期，格式YYYYMMDD
	@NotNull(message = "商户用户标识不能为空")
	@Pattern(message = "商户用户标识格式不正确")
	private String merCustId;//	商户用户标识	变长20	Y	
	@NotNull(message = "会员类型不能为空")
	@Pattern(message = "会员类型格式不正确")
	private String userType;//	会员类型	定长1	Y	1-个人
	@NotNull(message = "账户类型不能为空")
	@Pattern(message = "账户类型格式不正确")
	private String accType;//	账户类型
	@NotNull(message = "手机号不能为空")
	@Pattern(message = "手机号格式不正确")
	private String mobileId	;//手机号	定长11	Y	
	@NotNull(message = "会员名称不能为空")
	@Pattern(message = "会员名称格式不正确")
	private String custName;//	会员名称	变长256	Y	^[\一-\龥\•]{2,36}$DES加密
	@Pattern(message = "证件类型格式不正确")
	private String certType;//	证件类型
	@NotNull(message = "证件类型不能为空")
	@Pattern(message = "证件类型格式不正确")
	private String identityType;//	证件类型	变长2	Y	值:1：身份证\\d{1,2}
	@NotNull(message = "证件号不能为空")
	@Pattern(message = "证件号格式不正确")
	private String identityCode;//	证件号	变长256	Y	DES加密
	@Pattern(message = "服务器异步通知路径格式不正确")
	private String notifyUrl;//	服务器异步通知路径	变长128	N	交易完成后，系统会按照此地址将交易结果以后台的方式发送到商户网站
	@Pattern(message = "法人手机号格式不正确")
	private String lawyerMobileId;//	法人手机号
	
	@Pattern(message = "资质是否三证合一格式不正确")
	private String licenseType;//	资质是否三证合一	定长1	Y	1．是 2.否
	@Pattern(message = "营业执照号格式不正确")
	private String licenseNo;//	营业执照号（全国统一信用代码）	变长18	Y	15位 or18位数字（LICENSETYPE为1时18位）
	@Pattern(message = "组织机构代码证号格式不正确")
	private String organizationId;//	组织机构代码证号	变长 32	N	LICENSETYPE为2时必填
	@Pattern(message = "税务登记证号格式不正确")
	private String taxPayerNum;//	税务登记证号	变长256	N	DES加密
	@Pattern(message = "法人姓名格式不正确")
	private String lawyer;//	法人姓名	变长36	Y	^[\一-\龥\•]{2,36}$ 	3DES加密
	@Pattern(message = "联系人格式不正确")
	private String contActsName;//	联系人	变长 32	Y	DES加密
	@Pattern(message = "企业对公账号格式不正确")
	private String bankAccount;//		企业对公账号	变长256	Y	DES加密
	@Pattern(message = "对公账号名称格式不正确")
	private String bankAccountName;//	对公账号名称	变长256	Y	DES加密
	@Pattern(message = "银行名称格式不正确")
	private String bankName;//	银行名称	变长32	Y	
	@Pattern(message = "银行编号格式不正确")
	private String binBankId;//	银行编号	变长8	Y	
	@Pattern(message = "开户行支行全称格式不正确")
	private String bankBranchName	;//开户行支行全称	变长128	Y	
	@Pattern(message = "开户省格式不正确")
	private String bankProvName;//	开户省	
	@Pattern(message = "开户市格式不正确")
	private String bankAreaName;//	开户市	
	@Pattern(message = "子商户别名格式不正确")
	private String subMerAlias;//	子商户别名	变长32	如果传递中文，需确保该字段在传入接口前，编码正确，使用UTF-8编码	Y
	public String getMerId() {
		return merId;
	}
	public void setMerId(String merId) {
		this.merId = merId;
	}
	public String getbProductId() {
		return bProductId;
	}
	public void setbProductId(String bProductId) {
		this.bProductId = bProductId;
	}
	public String getpProductId() {
		return pProductId;
	}
	public void setpProductId(String pProductId) {
		this.pProductId = pProductId;
	}
	public String getOrderId() {
		return orderId;
	}
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	public String getOrderDate() {
		return orderDate;
	}
	public void setOrderDate(String orderDate) {
		this.orderDate = orderDate;
	}
	public String getMerCustId() {
		return merCustId;
	}
	public void setMerCustId(String merCustId) {
		this.merCustId = merCustId;
	}
	public String getUserType() {
		return userType;
	}
	public void setUserType(String userType) {
		this.userType = userType;
	}
	public String getMobileId() {
		return mobileId;
	}
	public void setMobileId(String mobileId) {
		this.mobileId = mobileId;
	}
	public String getCustName() {
		return custName;
	}
	public void setCustName(String custName) {
		this.custName = custName;
	}
	public String getIdentityType() {
		return identityType;
	}
	public void setIdentityType(String identityType) {
		this.identityType = identityType;
	}
	public String getIdentityCode() {
		return identityCode;
	}
	public void setIdentityCode(String identityCode) {
		this.identityCode = identityCode;
	}
	public String getNotifyUrl() {
		return notifyUrl;
	}
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}
	public String getRpid() {
		return rpid;
	}
	public void setRpid(String rpid) {
		this.rpid = rpid;
	}
	public String getLicenseType() {
		return licenseType;
	}
	public void setLicenseType(String licenseType) {
		this.licenseType = licenseType;
	}
	public String getLicenseNo() {
		return licenseNo;
	}
	public void setLicenseNo(String licenseNo) {
		this.licenseNo = licenseNo;
	}
	public String getOrganizationId() {
		return organizationId;
	}
	public void setOrganizationId(String organizationId) {
		this.organizationId = organizationId;
	}
	public String getTaxPayerNum() {
		return taxPayerNum;
	}
	public void setTaxPayerNum(String taxPayerNum) {
		this.taxPayerNum = taxPayerNum;
	}
	public String getLawyer() {
		return lawyer;
	}
	public void setLawyer(String lawyer) {
		this.lawyer = lawyer;
	}
	public String getContActsName() {
		return contActsName;
	}
	public void setContActsName(String contActsName) {
		this.contActsName = contActsName;
	}
	public String getBankAccount() {
		return bankAccount;
	}
	public void setBankAccount(String bankAccount) {
		this.bankAccount = bankAccount;
	}
	public String getBankAccountName() {
		return bankAccountName;
	}
	public void setBankAccountName(String bankAccountName) {
		this.bankAccountName = bankAccountName;
	}
	public String getBankName() {
		return bankName;
	}
	public void setBankName(String bankName) {
		this.bankName = bankName;
	}
	public String getBankBranchName() {
		return bankBranchName;
	}
	public void setBankBranchName(String bankBranchName) {
		this.bankBranchName = bankBranchName;
	}
	public String getAccType() {
		return accType;
	}
	public void setAccType(String accType) {
		this.accType = accType;
	}
	public String getCertType() {
		return certType;
	}
	public void setCertType(String certType) {
		this.certType = certType;
	}
	public String getLawyerMobileId() {
		return lawyerMobileId;
	}
	public void setLawyerMobileId(String lawyerMobileId) {
		this.lawyerMobileId = lawyerMobileId;
	}
	public String getBinBankId() {
		return binBankId;
	}
	public void setBinBankId(String binBankId) {
		this.binBankId = binBankId;
	}
	public String getBankProvName() {
		return bankProvName;
	}
	public void setBankProvName(String bankProvName) {
		this.bankProvName = bankProvName;
	}
	public String getBankAreaName() {
		return bankAreaName;
	}
	public void setBankAreaName(String bankAreaName) {
		this.bankAreaName = bankAreaName;
	}
	
	public String getSubMerAlias() {
		return subMerAlias;
	}
	public void setSubMerAlias(String subMerAlias) {
		this.subMerAlias = subMerAlias;
	}
	@Override
	public String toString() {
		return "MemberRegisterBusiReq ["+super.toString()
				+ ", merId=" + merId + ", bProductId=" + bProductId + ", pProductId=" + pProductId
		        + ", orderId=" + orderId + ", orderDate=" + orderDate + ", merCustId=" + merCustId + ", userType="
		        + userType + ", accType=" + accType + ", mobileId=" + mobileId + ", custName=" + custName
		        + ", certType=" + certType + ", identityType=" + identityType + ", identityCode=" + identityCode
		        + ", notifyUrl=" + notifyUrl + ", lawyerMobileId=" + lawyerMobileId + ", licenseType=" + licenseType
		        + ", licenseNo=" + licenseNo + ", organizationId=" + organizationId + ", taxPayerNum=" + taxPayerNum
		        + ", lawyer=" + lawyer + ", contActsName=" + contActsName + ", bankAccount=" + bankAccount
		        + ", bankAccountName=" + bankAccountName + ", bankName=" + bankName + ", binBankId=" + binBankId
		        + ", bankBranchName=" + bankBranchName + ", bankProvName=" + bankProvName + ", bankAreaName="
		        + bankAreaName + ", subMerAlias="
				        + subMerAlias +"]";
	}
	
}
